import os
import shutil
import glob

def copy_timings_files():
    """拷贝outputs_1到outputs_25中的timings文件到对应的outputs_x目录"""
    
    # 遍历outputs_1到outputs_25
    for i in range(0, 56):
        source_dir = f"outputs_{i}"
        target_dir = f"../sglang_profiling/outputs_{i}"
        
        if not os.path.exists(source_dir):
            print(f"目录 {source_dir} 不存在，跳过")
            continue
        
        # 创建目标目录（如果不存在）
        if not os.path.exists(target_dir):
            os.makedirs(target_dir)
            print(f"创建目录: {target_dir}")
        
        print(f"\n处理目录: {source_dir} -> {target_dir}")
        
        # 查找该目录下的所有timings文件
        timings_files = glob.glob(os.path.join(source_dir, "timings_all_setting_rlhf_*.csv"))
        
        if not timings_files:
            print(f"  在 {source_dir} 中未找到timings文件")
            continue
        
        # 拷贝每个timings文件到对应的目标目录，重命名为our
        for source_file in timings_files:
            filename = os.path.basename(source_file)
            # 将文件名改为timings_all_setting_rlhf_our.csv
            target_file = os.path.join(target_dir, "timings_all_setting_rlhf_our.csv")
            
            try:
                shutil.copy2(source_file, target_file)
                print(f"  已拷贝: {filename} -> {target_file}")
            except Exception as e:
                print(f"  拷贝失败 {filename}: {e}")
    
    print(f"\n完成！所有timings文件已拷贝到对应的outputs_x目录并重命名为our")

if __name__ == "__main__":
    copy_timings_files()
